use std::fs;

fn main() {
    // 第一个任务是让 minigrep 能够接受两个命令行参数：文件路径和要搜索的字符串。
    // 也就是说我们希望能够使用 cargo run，两个连字符来表明后面的参数是要传递给程序而不是 cargo，
    // 要搜索的字符串和被搜索的文件的路径来运行程序
    // cargo run -- searchstring example-filename.txt
    let args: Vec<String> = std::env::args().collect();
    dbg!(&args);
    // let query = &args[1];
    // let file_path = &args[2];
    let (query, file_path) = parse_config(&args);
    println!("Searching for {}", query);
    println!("In file {}", file_path);

    let contents = fs::read_to_string(file_path).expect("Should have been able to read the file ");
    println!("{}", contents);
}

fn parse_config(args: &[String]) -> (&str, &str) {
    let query = &args[1];
    let file_path = &args[2];
    (query, file_path)
}
